perm filename DICTBT.FAI[MUS,LCS]1 blob sn#007390 filedate 1974-01-08 generic text, type T, neo UTF8
00100		TITLE DICTBT
00120		INTERNAL UNPACK,REPACK,D2A,SPEED
00140	
00160	; CALL UNPACK(WORD,N)  -- [ARRAY N(3)]
00180	; CALL REPACK(WORD,N)  -- [ARRAY N(3)]
00190	; PUTS 3 SOUND SAMPLES OF 'WORD' INTO N(1), N(2), N(3).
00200	
00300	X ← 2
00400	T ← 3
00500	
00600	IDX:	XWD 441400,-3
00700	
00800	UNPACK:	0
00900		MOVE	T,0(16)
01000		HLL	T,IDX
01100		MOVE	X,1(16)
01200		HRL	X,IDX
01300	LOOP1:
01400		ILDB	1,T
01500		LSH	1,=24
01600		ASH	1,-=24
01700		MOVEM	1,(X)
01800		AOBJN	X,LOOP1
01900		JRA	16,2(16)
02000	REPACK:	0
02100		MOVE	T,0(16)
02200		HRLI	T,441400
02300		MOVE	X,1(16)
02400		HRL	X,IDX
02500	LOOP2:
02550		MOVE	1,(X)
02600		IDPB	1,T
03000		AOBJN	X,LOOP2
03100		JRA	16,2(16)
03200	
03300	;*********************************
03400	
03500	; CALL SPEED(SPEED,NCHNS)
03600	; CALL D2A(NAME(1),SIZE)
03700	
04600	
04700	DAC←17
04800	
04900	D2A:	JUMP	0
05000		INIT	DAC,17
05100		SIXBIT 	.AD.
05200		0
05300		JRST	.-3
05400		MOVN 	0,@1(16)
05500		HRLM	0,OUT
05600		MOVE	0,0(16)
05700		SUBI	0,1
05800		HRRM	0,OUT
05900		OUTPUT	DAC,OUT
06000		RELEASE DAC,0
06100		JRA	16,2(16)
06200	OUT:	0
06300		3650	;CONO 204,3650
06400		4030	; "   424,4010
06500		0
06600		0
06700	SPEED:	0
06800		MOVE	@(16)
06900		DPB	[POINT 3,OUT+2,32]
07000		MOVE	@1(16)
07100		SUBI	1
07200		DPB	[POINT 2,OUT+2,26]
07300		JRA	16,2(16)
07400		END